
/// 列表将要滑动到底部时自动预加载下一页数据（无限滚动列表效果）
class PreloadData {
  static needPreloadNextPage(int itemIndex, int currentPage,
      {int pageSize = 20, int totalPage = -1, double rate = 0.5}) {

    print("itemIndex === ${itemIndex + 1},currentPage==$currentPage,totalPage==$totalPage");

    // 1. 是否为最后一页
    if (currentPage >= totalPage) {
      currentPage = totalPage;
      return false;
    }
    // 2. 是否满足预加载条件
    if (itemIndex == (currentPage - 1) * pageSize + (rate * pageSize).floor()) {
      return true;
    }
    return false;
  }
}
/*
// 伪代码
class HKLogic extends GetxController {

  int currentPage = 1;
  int totalPage = -1;
  int pageSize = 20;

  // 预加载数据示例
  preload(int currentIndex) {
    // 判断是否需要预加载
    bool needPreload = PreloadData.needPreloadNextPage(currentIndex, currentPage,
        totalPage: totalPage, pageSize: pageSize);
    if (needPreload) {
      print("预加载了");
      // 预加载下一页数据
      onLoadMore();
    }
  }
}
// 使用:在ListView或GridView的builder构造函数中增加如下代码
controller.preload(index);
*/